home *** CD-ROM | disk | FTP | other *** search
/ Resource for Source: C/C++ / Resource for Source - C-C++.iso / codelib7 / v_09_08 / 9n08010a < prev    next >
Encoding:
Text File  |  1995-11-01  |  626 b   |  19 lines

  1. /* _Dtest function <197> IEEE 754 version */
  2. #include "xmath.h"
  3.  
  4. short _Dtest(double *px)
  5.         {       /* categorize *px */
  6.         unsigned short *ps = (unsigned short *)px;
  7.         short xchar = (ps[_D0] & _DMASK) >> _DOFF;
  8.  
  9.         if (xchar == _DMAX)     /* NaN or INF */
  10.                 return (ps[_D0] & _DFRAC || ps[_D1]
  11.                         || ps[_D2] || ps[_D3] ? NAN : INF);
  12.         else if (0 < xchar || ps[_D0] & _DFRAC
  13.                 || ps[_D1] || ps[_D2] || ps[_D3])
  14.                 return (FINITE);        /* finite */
  15.         else
  16.                 return (0);     /* zero */
  17.         }
  18.  
  19.